#pragma once

#include <QColor>

class Const {
    // 格
    public: static const int GRID_SIZE = 16;                                            // 尺寸

    // 游戏区域
    public: static const int GAME_BOARD_GRID_COUNT_H = 20;                              // 横向格数
    public: static const int GAME_BOARD_GRID_COUNT_V = 22;                              // 纵向格数
    public: static const int GAME_BOARD_WIDTH = GRID_SIZE * GAME_BOARD_GRID_COUNT_H;    // 宽度
    public: static const int GAME_BOARD_HEIGHT = GRID_SIZE * GAME_BOARD_GRID_COUNT_V;   // 高度
    public: static const QColor GAME_BOARD_COLOR;                                       // 背景色

    // 定时器
    public: static const int TIMER_INIT = 500;                                          // 初始间隔值，单位毫秒
    public: static const int TIMER_GROW = 50;                                           // 增长间隔值，单位毫秒，难度每增加1级，间隔值减少此数

    // 难度
    public: static const int DIFF_BASE = 5;                                             // 基数。分数每达到此数的整数倍时，难度增加
    public: static const int DIFF_MAX = 10;                                             // 最大值。难度达到此数后不再增加

    // 胜利数
    public: static const int WIN_NUMBER = DIFF_BASE * DIFF_MAX;                         // 达到此数胜利

    // 蛇
    public: static const QColor SNAKE_COLOR;                                            // 颜色

    // 果子
    public: static const QColor APPLE_COLOR;                                            // 颜色

    // 状态栏
    public: static const int STATUS_BAR_PART_COUNT = 2;                                 // 格数

    // 音乐
    public: static const char* MUSIC_FILE_NAME;                                         // 文件名
};
